﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataLayer.Database;

namespace DataLayer.Class
{
    public class Musteri : IOperable
    {
        MusteriDB musteriDB = new MusteriDB();
        int musteriID;
        string ad;
        string soyad;
        string telefonNo;
        int puan;
        DateTime kayitTarihi;
        Oncelik oncelik;


        public Musteri(string ad, string soyad, string telefonNo, Oncelik oncelik)
        {
            // TODO: Complete member initialization
            this.ad = ad;
            this.soyad = soyad;
            this.telefonNo = telefonNo;
            this.oncelik = oncelik;
            puan = 0;
            kayitTarihi = DateTime.Now.Date;

        }

        public Musteri()
        {
            // TODO: Complete member initialization
            oncelik = new Oncelik();
            ad = "";
            soyad = "";
            telefonNo = "";

        }

        public Musteri(int musteriID,string ad, string soyad, string telefonNo, Oncelik oncelik)
        {
            // TODO: Complete member initialization
            this.musteriID = musteriID;
            this.ad = ad;
            this.soyad = soyad;
            this.telefonNo = telefonNo;
            this.oncelik = oncelik;
        }

        public Oncelik Oncelik
        {
            get { return oncelik; }
            set { oncelik = value; }
        }

        public DateTime KayitTarihi
        {
            get { return kayitTarihi; }
            set { kayitTarihi = value.Date; }
        }

        public int Puan
        {
            get { return puan; }
            set { puan = value; }
        }

        public string TelefonNo
        {
            get { return telefonNo; }
            set { telefonNo = value; }
        }

        public string Soyad
        {
            get { return soyad; }
            set { soyad = value; }
        }

        public string Ad
        {
            get { return ad; }
            set { ad = value; }
        }
        

        public int MusteriID
        {
            get { return musteriID; }
            set { musteriID = value; }
        }



        public void ekle()
        {
            musteriDB.musteriEkle(this);
        }

        public void sil()
        {
            musteriDB.musteriSil(this.MusteriID);
        }

        public void guncelle()
        {
            musteriDB.musteriDuzenle(this);
        }

        public void rezervasyonYaptir(Rezervasyon rez)
        {
            rez.Musteri = this;
        }
    }

}
